const COS = require("../libs/cos-wx-sdk-v5");

module.exports = {
  getUploadToken() {
    return new COS({
      // 必选参数
      getAuthorization: function (options, callback) {
          wx.request({
              method: "post",
              url: wx.$api.fetchTencentToken,
              data: JSON.stringify(options.Scope),
              success: function (result) {
                if(result.data.code === 200) {
                  var data = result.data.body;
                  var credentials = data && data.credentials;
                  if (!data || !credentials) return console.error('credentials invalid');
                  callback({
                      TmpSecretId: credentials.tmpSecretId,
                      TmpSecretKey: credentials.tmpSecretKey,
                      XCosSecurityToken: credentials.sessionToken,
                      // 建议返回服务器时间作为签名的开始时间，避免用户浏览器本地时间偏差过大导致签名错误
                      StartTime: data.startTime, // 时间戳，单位秒，如：1580000000
                      ExpiredTime: data.expiredTime, // 时间戳，单位秒，如：1580000900
                      ScopeLimit: true, // 细粒度控制权限需要设为 true，会限制密钥只在相同请求时重复使用
                  });
                } else {
                  wx.showToast({
                    title: '上传token获取错误',
                  })
                }
              },
              fail: err => {
                console.log("请求错误", err)
              }
        });
      }
    })
  }
}